package com.ns.sbs.oauth.acc.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ns.sbs.oauth.acc.dto.AccPageDto;
import com.ns.sbs.oauth.acc.entry.Account;
import com.ns.sbs.oauth.acc.vo.AccCompleteVO;
import com.ns.sbs.oauth.acc.vo.AccVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Service: admin管理员
 *
 * @author lw
 */
public interface IAccountService extends IService<Account> {

    /**
     * 查
     *
     * @param id  参数
     * @param sid 服务id
     * @return int
     */
    AccCompleteVO getAccById(Long id, Long sid);

    /**
     * 查
     *
     * @param dto 参数
     * @return int
     */
    Page<AccVO> getList(AccPageDto dto);

    /**
     * 批量删除
     *
     * @param ids id
     * @return int
     */
    int deleteByIds(@Param("ids") List<Long> ids);

    /**
     * 根据服务+手机号校验用户
     *
     * @param phone 手机号
     * @param accId 账户id
     */
    Long checkAccIdAndPhone(Long accId, String phone);

    /**
     * 根据手机号查询账户信息
     *
     * @param phone 手机号
     * @return AccVO
     */
    AccCompleteVO getAccByPhone(String phone);


    /**
     * 根据手机号查询账户信息
     *
     * @param phone 手机号
     * @return AccVO
     */
    Long checkByPhone(String phone);
}
